package com.yjd.bi.user.dao;

import java.util.List;
import java.util.Map;

import com.yjd.bi.user.model.UserAreaStatisticsModel;
import com.yjd.bi.user.model.UserSexStatisticsModel;
import com.yjd.bi.user.model.UserAgeStatisticsModel;
import com.yjd.comm.base.dao.IBaseDao;

/**
 * <b>description</b>：每日汇总统计数据访问接口<br>
 * <b>time</b>：2016-04-26 16:48:56 <br>
 * <b>author</b>：  carl
 */
public interface IUserStatisticsConditionDao extends IBaseDao{
	
	/**
	 * 根据性别统计用户数量
	 * @param paramMap
	 * @param b
	 * @return
	 */
	public double userSexSum(Map<String, Object> paramMap, boolean b);
	
	/**
	 * 汇总统计用户数量
	 * @param paramMap
	 * @param write
	 * @return
	 * @throws Exception
	 */
	public UserSexStatisticsModel getSummaryModel(Map paramMap, boolean b) throws Exception;


	/**
	 * 统计投资人数（年龄）
	 * @param b
	 * @return
	 * @throws Exception
	 */
	public List<UserAgeStatisticsModel> getInvestNumByAge(boolean b)throws Exception;
	
	/**
	 * 统计充值人数（年龄）
	 * @param b
	 * @return
	 * @throws Exception
	 */
	public List<UserAgeStatisticsModel> getRechargeNumByAge(boolean b)throws Exception;
	
	/**
	 * 统计登录人数（年龄）
	 * @param b
	 * @return
	 * @throws Exception
	 */
	public List<UserAgeStatisticsModel> getLoginNumByAge(boolean b)throws Exception;
	
	/**
	 * 统计注册人数（年龄）
	 * @param b
	 * @return
	 * @throws Exception
	 */
	public List<UserAgeStatisticsModel> getRegisterNumByAge(boolean b)throws Exception;
	
	
	/**
	 * 统计投资人数（区域）
	 * @param b
	 * @return
	 * @throws Exception
	 */
	public List<UserAreaStatisticsModel> getInvestNumByArea(boolean b)throws Exception;
	
	/**
	 * 统计充值人数（区域）
	 * @param b
	 * @return
	 * @throws Exception
	 */
	public List<UserAreaStatisticsModel> getRechargeNumByArea(boolean b)throws Exception;
	
	/**
	 * 统计注册人数（区域）
	 * @param b
	 * @return
	 * @throws Exception
	 */
	public List<UserAreaStatisticsModel> getRegisterNumByArea(boolean b)throws Exception;

	/**
	 * 获取单项统计值
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	Integer getSummary(Map<String, Object> paramMap) throws Exception;

}